let strarr = {
    'a-b-c-d': 1,
    'a-b-c-e': 2,
    'a-b-f': 3,
    'a-j': 4
}
// let obj = {
//     a: {
//         b: {
//             c: {
//                 d: 1,
//                 e: 2
//             },
//             f: 3
//         },
//         j: 4
//     }
// }
function ObjectToTree(strarr) {
    let objTree = {}
    // 深度遍历
    const dfs = (pro_arr, obj, val) => {
        for (let i = 0; i < pro_arr.length - 1; i++) {
            // 如果没有就赋值新对象
            if (!obj[pro_arr[i]]) obj[pro_arr[i]] = {}
            obj = obj[pro_arr[i]]
        }
        // 最后一个直接赋值
        obj[pro_arr[pro_arr.length - 1]] = val
    }
    for (let keys in strarr) {
        dfs(keys.split('-'), objTree, strarr[keys])
    }
    return objTree
}
console.log(ObjectToTree(strarr));